//#include <iostream>
//using namespace std;
//int main()
//{
//	//栈区开辟空间，先开辟的空间地址高
//	int a = 10;
//	int b = 20;
//	cout << &a << endl;
//	cout << &b << endl;
//
//	//堆区开辟空间，先开辟的空间地址低
//	int* c = (int*)malloc(sizeof(int) * 10);
//	int* d = (int*)malloc(sizeof(int) * 10);
//	cout << c << endl;
//	cout << d << endl;
//	return 0;
//}


//#include <stdio.h>
//#include <stdlib.h>
//
//int main()
//{
//	// calloc
//	int* p = (int*)malloc(40); // 开辟10个大小为int的空间，40
//	if (p == NULL)
//		return 1;
//	int i = 0;
//	for (i = 0; i < 10; i++)
//		printf("%d ", *(p + i));
//	free(p);
//	p = NULL;
//
//	return 0;
//}


//#include<iostream>
//using namespace std;
//int main()
//{
//	int a = 1;
//	int b = 2; 
//	swap(a, b);
//	cout << a << b << endl;
//	return 0;
//}

// 模板
#include<iostream>
using namespace std;
template<class T>
T Add(const T& left, const T& right)
{
	return left + right;
}